//
//  CCTime.m
//  CCFC_IPHONE
//
//  Created by  xuchen(陈旭)， xichen(陈曦)， qq：511272827 on 10-11-18.
//  Copyright 2010 cc_team. All rights reserved.
//

#include "CCAll.h"

#ifdef	OBJC_MACRO
#import "CCTime.h"

// 获取系统时间(yyyy-MM-dd HH:mm:ss.SSS格式)
NSString *getSystemTime()
{
	NSDateFormatter *dateFormatter = OBJ_INIT(NSDateFormatter);
	[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];	// 设置格式为年-月-日 时:分:秒:毫秒
	
	NSString *timeStr = [dateFormatter stringFromDate:[NSDate date]];
	[dateFormatter release];
	
	return timeStr;
}

// 获取系统时间数组(yyyy-MM-dd-HH-mm-ss-SSS格式)
NSArray *getSystemTimeArr()
{
	NSDateFormatter *dateFormatter = OBJ_INIT(NSDateFormatter);
	[dateFormatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss-SSS"];	// 设置格式为年-月-日 时:分:秒:毫秒
	
	NSString *timeStr = [dateFormatter stringFromDate:[NSDate date]];	// 获取当前时间
	NSArray *timeArr = [timeStr componentsSeparatedByString:@"-"];	// 以符号-隔开得到各个时间信息
	[dateFormatter release];
	
	return timeArr;
}

// 获取系统时间的年份
NSString *getYearValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_YEAR];
}

// 获取系统时间的月份
NSString *getMonthValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_MONTH];
}

// 获取系统时间的日数
NSString *getDayValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_DAY];
}

// 获取系统时间的小时数
NSString *getHourValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_HOUR];
}

// 获取系统时间的分钟数
NSString *getMinuteValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_MINUTE];
}

// 获取系统时间的秒数
NSString *getSecondsValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_SECONDS];
}

// 获取系统时间的毫秒数
NSString *getMiliSecondsValue()
{
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:TIME_TYPE_MILISECONDS];
}

// 获取系统时间指定位置的值
NSString *getTimeValue(TIME_TYPE timeType)
{
	assert(timeType >= 0 && timeType < TIME_TYPE_MAX);
	
	NSArray *timeArr = getSystemTimeArr();
	return (NSString *)[timeArr objectAtIndex:timeType]; 
}

// 获取两个日期的差值
NSTimeInterval getDateDiff(const NSDate *startTime, const NSDate *endTime)
{
	assert(startTime && endTime);
	
	NSTimeInterval startTimeInterval = [startTime timeIntervalSince1970]; 
	NSTimeInterval endTimeInterval = [endTime timeIntervalSince1970];
	
	return endTimeInterval - startTimeInterval;
}

@implementation CCTime

@end

#endif	//OBJC_MACRO
